package 面向对象;

public class InstanceTest {
    public static void main(String[] args) {
        Phone phone1=new Phone();//声明对象，实例化对象
        phone1.sendEmail();
        phone1.playGame();
        //匿名对象 每new一次创建一个新的匿名对象
        new Phone().playGame();
        new Phone().sendEmail();
        //这个匿名对象对price赋值，setPrice()接受不到，因为再new的时候创建了新的内存地址
        new Phone().price=100;
        new Phone().setPrice();//0.0

        PhoneMall phoneMall=new PhoneMall();
        //匿名对象的使用
        //Phone phone=new Phone();
        //但是实在phoneMall中声明的用法还是不太一样
        phoneMall.show(new Phone());
        phoneMall.show(new Phone());
    }
}
class PhoneMall{
    public void show(Phone phone){
        System.out.println("这是匿名对象的使用");
        phone.sendEmail();
        phone.playGame();
        phone.price=10;
        phone.setPrice();
    }
}
class Phone{
    double price;//价格
    public void sendEmail(){
        System.out.println("发送邮件");
    }
    public void playGame(){
        System.out.println("打游戏");
    }
    public void setPrice(){
        System.out.println("手机价格为"+price);
    }
}
